import axios from "axios"           //封装axios
import store from "../store"
 const instance =axios.create({
    baseURL:"http://39.100.95.147:1404",
    timeout:5000
})
// instance.defaults.headers["X-Host"]="mall.film-ticket.film.list"
//添加请求拦截
instance.interceptors.request.use(function(config){
    //config包含了发送请求时的所有配置
    if(store.state.currentUser.token){
        config.headers.token=store.state.currentUser.token
    }   
    return config;
},function(error){
    return Promise.reject(error)
});

//添加响应拦截
instance.interceptors.response.use(function(response){
    //如果状态码是200，正常放行
    if(response.status===200){
        return Promise.resolve(response)
    }else{
        // 如果非200，提示错误并放行
        return Promise.reject(response)
    }
},function(error){
    let{response}=error;
    if(response){
        // 有响应对象，处理报错
        switch(response.status){
            case 404:
                throw new Error("访问资源不存在,检查请求地址");
            case 500:
                throw new Error("服务器内部错误");
            default:
                throw new Error("未知错误，响应失败");
        }
    }else{
        // 没有响应对象，说明没有收到服务器响应
        throw new Error("响应失败，请检查网络");
    }
    return Promise.reject(error)
}
)
export default instance